package com.hfzy.ihk.facade.calldata.service;

import java.util.List;
import java.util.Map;


/**
 * 云呼通话记录表管理类
 * */
public interface CloudCallHistoryManager {
	
	//更新
	String updateCloudCallHistory(String jsonStr);
	
	//插入操作
	String createCloudCallHistory(String jsonStr);
	
	//查询操作
	List<Map> searchCloudCallHistory(String jsonStr);
	
	//分页查询通话记录
	List<Map> searchCloudCallHistory(int userid, String dataTimeStr, int page, int pageSize);

	//更新
	String  updateHttpCloudCallHistory(String jsonStr);
	//插入操作
	String  createHttpCloudCallHistorys(String jsonStr);
	
	//更新主显号
	String  batchUpdateMainphone(List<Map> list);
	
	
	//根据传递过来的参数用户的id、当前的时间戳来返回指定数目的数据
	/**
	 * 参数：inputText 搜索内容：姓名、项目名、地址
	 * */
	List<Map> searchCloudcallHistorys(String enrollNumber, String dataTimeStr, String callFromType, int isImportanceCustomer, String inputText, int page, int pageSize);
	
	
	
	//用于根据sessionid去更新call客数据
	String updateCloudCallHistoryBySessionId(String jsonStr);

	//创建/更新call客数据--- 根据sessionId
	String saveOrUpdate(String jsonStr);

	/***用于根据日期更新录音后缀的数据,
	 * @param  dateStr int  格式：yyyyMMdd
	 * @param param Map --- 格式：["partA ": true ,"partB": true,"oldType":'.wav',"changeType":'.mp3'] ,为true时则将录音格式进行更改
	 * */
	String updateDataByDate(int dateStr, Map param);


	
//	PageBean searchCloudCallHistory(int userid,String dataTimeStr,int page,int pageSize);


	/*
	* 创建封存号码数据
	* */
	Map createStopCallPhoneLogs(List<Map> mapList);


	/**
	 * 删除封存号码数据
	 * */
	Map deleteStopCallPhoneLogs(Map paramMap);


	/**
	 * 更新封存号码数据
	 * */
	Map updateStopCallPhoneLogs(Map updateMap, Map paramMap);


	/**
	 * 提供获取修补数据完整性
	 * @param params
	 * 			key： pageFrom【外呼时页面来源 string】、objectId【外呼时的关联的对象id int】、createUserId【外呼人id int】
	 * 			createDate【外呼的时间 date】、project【项目名 string】、propertyNo【盘编 string】
	 * @return map
	 * 			key： data[map] key：zyRemark、createUserId、topManagerId、groupManagerId、teamId、unitId、managerId、
	 * */
	Map getFixCallDataMap(Map<String, Object> params);


}
